"마스터관리자",2=>"일반관리자"); function passwordCheck($_str){ $pw = $_str; $num = preg_match('/[0-9]/u', $pw); $eng = preg_match('/[a-z]/u', $pw); $spe = preg_match("/[\!\@\#\$\%\^\&\*]/u",$pw); if(strlen($pw) < 10 || strlen($pw) > 30) { return array(false,"비밀번호는 영문, 숫자, 특수문자를 혼합하여 최소 10자리 ~ 최대 30자리 이내로 입력해주세요."); exit; } if(preg_match("/\s/u", $pw) == true) { return array(false, "비밀번호는 공백없이 입력해주세요."); exit; } if( $num == 0 || $eng == 0 || $spe == 0) { return array(false, "영문, 숫자, 특수문자를 혼합하여 입력해주세요."); exit; } return array(true); } if(isset($_SERVER['HTTPS'])){ $http_ment="https://"; }else{ $http_ment="http://"; } $server_url = $http_ment.$_SERVER["HTTP_HOST"]; $this_agent=MobileCheck(); function MobileCheck() { $MobileArray = array("iPhone","iphone","lgtelecom","skt","mobile","samsung","nokia","blackberry","android","android","sony","phone"); $checkCount = 0; for($i=0; $i= 1) ? "Mobile" : "Computer"; } $arr_mon=Array(1=>"January",2=>"February",3=>"March",4=>"April",5=>"May",6=>"June",7=>"July",8=>"August",9=>"September",10=>"October",11=>"November",12=>"December"); function getStrCut( $str, $size, $last_str = "") { $substr = substr( $str, 0, $size * 2 ); //$multi_size = preg_match_all( '/[\x80-\xff]/', $substr, $multi_chars ); $multi_size = preg_match_all( '/[\\x80-\\xff]/', $substr, $multi_chars ); if ( $multi_size > 0 ) { $size = $size + intval( $multi_size / 3 ) - 1; } if ( getLen( $str ) > $size ) { $str = substr( $str, 0, $size ); //$str = preg_replace( '/(([\x80-\xff]{3})*?)([\x80-\xff]{0,2})$/', '$1', $str ); $str = preg_replace( '/(([\\x80-\\xff]{3})*?)([\\x80-\\xff]{0,2})$/', '$1', $str ); if ( $last_str ) $str .= $last_str; } return $str; } function getLen($STRING) { $STRING = trim($STRING); $STRING = str_replace(" ","",$STRING); $LEN = strlen($STRING); return $LEN; } function RemoveXSS($val) { $val = preg_replace('/([\x00-\x08][\x0b-\x0c][\x0e-\x20])/', '', $val); $search = 'abcdefghijklmnopqrstuvwxyz'; $search .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; $search .= '1234567890!@#$%^&*()'; $search .= '~`";:?+/={}[]-_|\'\\'; for ($i = 0; $i < strlen($search); $i++) { $val = preg_replace('/(&#[x|X]0{0,8}'.dechex(ord($search[$i])).';?)/i', $search[$i], $val); $val = preg_replace('/(�{0,8}'.ord($search[$i]).';?)/', $search[$i], $val); // with a ; } $ra1 = Array('javascript', 'vbscript', 'expression', 'applet', 'meta', 'xml', 'blink', 'link', 'style', 'script', 'embed', 'object', 'iframe', 'frame', 'frameset', 'ilayer', 'layer', 'bgsound', 'title', 'base'); $ra2 = Array('alert','onabort', 'onactivate', 'onafterprint', 'onafterupdate', 'onbeforeactivate', 'onbeforecopy', 'onbeforecut', 'onbeforedeactivate', 'onbeforeeditfocus', 'onbeforepaste', 'onbeforeprint', 'onbeforeunload', 'onbeforeupdate', 'onblur', 'onbounce', 'oncellchange', 'onchange', 'onclick', 'oncontextmenu', 'oncontrolselect', 'oncopy', 'oncut', 'ondataavailable', 'ondatasetchanged', 'ondatasetcomplete', 'ondblclick', 'ondeactivate', 'ondrag', 'ondragend', 'ondragenter', 'ondragleave', 'ondragover', 'ondragstart', 'ondrop', 'onerror', 'onerrorupdate', 'onfilterchange', 'onfinish', 'onfocus', 'onfocusin', 'onfocusout', 'onhelp', 'onkeydown', 'onkeypress', 'onkeyup', 'onlayoutcomplete', 'onload', 'onlosecapture', 'onmousedown', 'onmouseenter', 'onmouseleave', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onmousewheel', 'onmove', 'onmoveend', 'onmovestart', 'onpaste', 'onpropertychange', 'onreadystatechange', 'onreset', 'onresize', 'onresizeend', 'onresizestart', 'onrowenter', 'onrowexit', 'onrowsdelete', 'onrowsinserted', 'onscroll', 'onselect', 'onselectionchange', 'onselectstart', 'onstart', 'onstop', 'onsubmit', 'onunload'); $ra = array_merge($ra1, $ra2); $found = true; // keep replacing as long as the previous round replaced something while ($found == true) { $val_before = $val; for ($i = 0; $i < sizeof($ra); $i++) { $pattern = '/'; for ($j = 0; $j < strlen($ra[$i]); $j++) { if ($j > 0) { $pattern .= '('; $pattern .= '(&#[x|X]0{0,8}([9][a][b]);?)?'; $pattern .= '|(�{0,8}([9][10][13]);?)?'; $pattern .= ')?'; } $pattern .= $ra[$i][$j]; } $pattern .= '/i'; $replacement = substr($ra[$i], 0, 2).''.substr($ra[$i], 2); // add in <> to nerf the tag $val = preg_replace($pattern, $replacement, $val); // filter out the hex tags if ($val_before == $val) { // no replacements were made, so exit the loop $found = false; } } } return $val; } function SqlInjection($string) { if($string){ $str = str_replace("~","",$string); $str = str_replace("!","",$str); $str = str_replace("@","",$str); $str = str_replace("#","",$str); $str = str_replace("$","",$str); $str = str_replace("%","",$str); $str = str_replace("^","",$str); $str = str_replace("&","",$str); $str = str_replace("*","",$str); $str = str_replace("(","",$str); $str = str_replace(")","",$str); $str = str_replace("-","",$str); $str = str_replace("+","",$str); $str = str_replace("=","",$str); $str = str_replace("|","",$str); $str = str_replace("[","",$str); $str = str_replace("]","",$str); $str = str_replace("{","",$str); $str = str_replace("}","",$str); $str = str_replace(":","",$str); $str = str_replace(";","",$str); $str = str_replace("'","",$str); $str = str_replace("/'","",$str); $str = str_replace("?","",$str); $str = str_replace("<","",$str); $str = str_replace(">","",$str); $str = str_replace(",","",$str); $str = str_replace("..","",$str); $str = str_replace("\\","",$str); $str = str_replace("\"","",$str); return $str; } } function XSSAttack($string) { if ($string){ $str = str_replace(""; echo ""; exit; } } function select_table2($table_name, $sub_query){ $query = "select * from $table_name $sub_query "; $result = mysql_query($query); err_chk($result); $row = mysql_fetch_array($result); return $row; } // 페이지 이동 function Msg_Meta($Msg,$Href) { echo ""; echo(""); } function print_title_image($code) { $img_title = $code . ".gif"; echo("

"); } function popup_msg($msg) { echo(""); } function popup_msg1($msg) { echo(""); } function popup_msg2($msg) { echo(""); } function popup_msg3($msg) { echo(""); } function popup_msg4($msg) { echo(""); } function popup_msg5($msg) { echo(""); } function popup_msg6($msg) { echo(""); } function popup_msg_go($msg,$src) { echo(""); } function str_cut($str, $number){ $str = html_move($str); $length = strlen($str); for($k = 0; $k < $number; $k++) if(ord(substr($str, $k, 1)) > 127) $k++; if($length > $number) $return_str = substr($str, 0, $k)."..."; else $return_str = $str; return $return_str; } function str_br($str, $number){ $str = html_move($str); $length = strlen($str); for($k = 0; $k < $number; $k++) if(ord(substr($str, $k, 1)) > 127) $k++; if($length > $number) $return_str = substr($str, 0, $k) . "
" . substr($str, $k, $length); else $return_str = $str; return $return_str; } //제목에 태그 들어가 있을때 자르는것 function html_str_cut($str, $number){ $len = 0; for($K = 0; $K <= strlen($str) -1;$K++){ $tag_str = mb_substr($str, $K, 1); if($tag_str == "<") $tag = 1; if($tag && $tag_str == ">") {$tag = 0; continue; } if($tag) continue; $len = $len + 1; } if($len > $number) $return_str = substr($str, 0, $number)."..."; else $return_str = $str; return $return_str; } function html_move($comment){ $comment = strip_tags(eregi_replace(" ", " ", stripslashes($comment))); return $comment; } function error($errcode) { switch ($errcode) { case ("INVALID_COLOR") : popup_msg("입력하신 색상은 허용되지 않는 색상입니다.\\n\\n올바른 색상명을 입력하여 주십시오."); break; case ("INVALID_ID") : popup_msg("입력하신 아이디는 허용되지 않는 문자열입니다.\\n\\n아이디는 5 ~ 10자의 영문소문자나 숫자 또는 조합된 문자열이어야 합니다."); break; case ("MEMBER_NOT_FOUND") : popup_msg("일치하는 회원정보가 없습니다. \\n\\n다시한번 확인하시고 입력하여 주십시오."); break; case ("LOGIN_ID_NOT_FOUND") : popup_msg("입력하신 아이디(ID)는 등록되어 있지 않습니다. \\n\\n다시한번 확인하시고 입력하여 주십시오."); break; case ("LOGIN_INVALID_PW") : popup_msg("입력하신 비밀번호가 틀렸습니다. \\n\\n다시한번 확인하시고 입력하여 주십시오."); break; case ("INVALID_NAME") : popup_msg("입력하신 이름은 허용되지 않는 문자열입니다.\\n\\n올바른 이름을 입력하여 주십시오."); break; case ("INVALID_SUBJECT") : popup_msg("입력하신 제목은 허용되지 않는 문자열입니다. \\n\\n올바른 제목을 입력하여 주십시오."); break; case ("INVALID_EMAIL") : popup_msg("입력하신 주소는 올바른 전자우편주소가 아닙니다. \\n\\n다시 입력하여 주십시오."); break; case ("INVALID_HOMEPAGE") : popup_msg("입력하신 주소는 올바른 홈페이지주소가 아닙니다. \\n\\n다시 입력하여 주십시오."); break; case ("INVALID_INFO") : popup_msg("입력하신 정보가 정확하지 않습니다."); break; case ("NO_MONEY") : popup_msg("보유금액이 부족합니다."); break; case ("NO_VOTE") : popup_msg("투표결과가 없습니다."); break; case ("INVALID_PASSWD") : popup_msg("암호는 최소 4자이상의 영문자 또는 숫자여야 합니다. \\n\\n다시입력하여 주십시오."); break; case ("INVALID_COMMENT") : popup_msg("본문을 입력하지 않으셨습니다. \\n\\n다시입력하여 주십시오."); break; case ("QUERY_ERROR") : $err_no = mysql_errno(); $err_msg = mysql_error(); $error_msg = "ERROR CODE " . $err_no . " : $err_msg"; $error_msg = addslashes($error_msg); popup_msg($error_msg); break; case ("DB_ERROR") : $err_no = mysql_errno(); $err_msg = mysql_error(); $error_msg = "ERROR CODE " . $err_no . " : $err_msg"; echo("$error_msg"); break; case ("NO_ACCESS") : popup_msg("회원 전용입니다."); break; case ("NO_ACCESS1") : popup_msg("글읽기 권한이 없습니다.\\n\\n 해당 동호회 주인/운영자에게 문의 해주세요"); break; case ("NO_LOGIN") : popup_msg("먼저 로그인을 해주세요."); break; case ("NO_ADMIN") : popup_msg3("관리자 전용입니다."); break; case ("NO_MODIFY") : popup_msg("수정 권한이 없습니다."); break; case ("NO_DELETE") : popup_msg("삭제 권한이 없습니다."); break; case ("NO_ACCESS_MODIFY") : popup_msg("해당글의 수정 권한이 없습니다!!!"); break; case ("NO_ACCESS_DELETE") : popup_msg("해당글의 삭제 권한이 없습니다!!!"); break; case ("NO_ACCESS_DELETE_THREAD") : popup_msg("답변이 있는 글은 삭제하실 수 없습니다. \\n\\n답변글을 모두 삭제하신 후 삭제하십시오."); break; case ("No_Admin") : popup_msg("관리자 로그인에 실패하였습니다. \\n\\n다시입력해주세요!"); break; default : } } /** * @return string * 개인정보처리방침 */ function policyTxt() { return "1. 개인정보의 처리 목적 (‘kacelab.com’이하 ‘케이스랩’) 은(는) 다음의 목적을 위하여 개인정보를 처리하고 있으며, 다음의 목적 이외의 용도로는 이용하지 않습니다. - 고객 가입의사 확인, 고객에 대한 서비스 제공에 따른 본인 식별.인증, 회원자격 유지.관리, 물품 또는 서비스 공급에 따른 금액 결제, 물품 또는 서비스의 공급.배송 등 2. 개인정보의 처리 및 보유 기간 ① (‘kacelab.com’이하 ‘케이스랩’) 은(는) 정보주체로부터 개인정보를 수집할 때 동의 받은 개인정보 보유․이용기간 또는 법령에 따른 개인정보 보유․이용기간 내에서 개인정보를 처리․보유합니다. ② 구체적인 개인정보 처리 및 보유 기간은 다음과 같습니다. ☞ 아래 예시를 참고하여 개인정보 처리업무와 개인정보 처리업무에 대한 보유기간 및 관련 법령, 근거 등을 기재합니다. (예시)- 고객 가입 및 관리 : 서비스 이용계약 또는 회원가입 해지시까지, 다만 채권․채무관계 잔존시에는 해당 채권․채무관계 정산시까지 - 전자상거래에서의 계약․청약철회, 대금결제, 재화 등 공급기록 : 5년 3. 개인정보의 제3자 제공에 관한 사항 ① ('kacelab.com'이하 '케이스랩')은(는) 정보주체의 동의, 법률의 특별한 규정 등 개인정보 보호법 제17조 및 제18조에 해당하는 경우에만 개인정보를 제3자에게 제공합니다. ② ('kacelab.com')은(는) 다음과 같이 개인정보를 제3자에게 제공하고 있습니다. 1 - 개인정보를 제공받는 자 : 케이스랩 - 제공받는 자의 개인정보 이용목적 : 이메일, 휴대전화번호, 이름, 회사전화번호, 직책, 부서, 회사명, 직업 - 제공받는 자의 보유.이용기간: 3년 4. 정보주체와 법정대리인의 권리·의무 및 그 행사방법 이용자는 개인정보주체로써 다음과 같은 권리를 행사할 수 있습니다. ① 정보주체는 케이스랩(‘kacelab.com’이하 ‘케이스랩) 에 대해 언제든지 다음 각 호의 개인정보 보호 관련 권리를 행사할 수 있습니다. 1. 개인정보 열람요구 2. 오류 등이 있을 경우 정정 요구 3. 삭제요구 4. 처리정지 요구 5. 처리하는 개인정보의 항목 작성 ① ('kacelab.com'이하 '케이스랩')은(는) 다음의 개인정보 항목을 처리하고 있습니다. 1 - 필수항목 : 이메일, 휴대전화번호, 이름, 회사명 - 선택항목 : 직책, 부서 6. 개인정보의 파기('케이스랩')은(는) 원칙적으로 개인정보 처리목적이 달성된 경우에는 지체없이 해당 개인정보를 파기합니다. 파기의 절차, 기한 및 방법은 다음과 같습니다. -파기절차 이용자가 입력한 정보는 목적 달성 후 별도의 DB에 옮겨져(종이의 경우 별도의 서류) 내부 방침 및 기타 관련 법령에 따라 일정기간 저장된 후 혹은 즉시 파기됩니다. 이 때, DB로 옮겨진 개인정보는 법률에 의한 경우가 아니고서는 다른 목적으로 이용되지 않습니다. -파기기한 이용자의 개인정보는 개인정보의 보유기간이 경과된 경우에는 보유기간의 종료일로부터 5일 이내에, 개인정보의 처리 목적 달성, 해당 서비스의 폐지, 사업의 종료 등 그 개인정보가 불필요하게 되었을 때에는 개인정보의 처리가 불필요한 것으로 인정되는 날로부터 5일 이내에 그 개인정보를 파기합니다. 7. 개인정보 자동 수집 장치의 설치•운영 및 거부에 관한 사항 ① 케이스랩 은 개별적인 맞춤서비스를 제공하기 위해 이용정보를 저장하고 수시로 불러오는 ‘쿠기(cookie)’를 사용합니다. ② 쿠키는 웹사이트를 운영하는데 이용되는 서버(http)가 이용자의 컴퓨터 브라우저에게 보내는 소량의 정보이며 이용자들의 PC 컴퓨터내의 하드디스크에 저장되기도 합니다. 가. 쿠키의 사용 목적 : 이용자가 방문한 각 서비스와 웹 사이트들에 대한 방문 및 이용형태, 인기 검색어, 보안접속 여부, 등을 파악하여 이용자에게 최적화된 정보 제공을 위해 사용됩니다. 나. 쿠키의 설치•운영 및 거부 : 웹브라우저 상단의 도구>인터넷 옵션>개인정보 메뉴의 옵션 설정을 통해 쿠키 저장을 거부 할 수 있습니다. 다. 쿠키 저장을 거부할 경우 맞춤형 서비스 이용에 어려움이 발생할 수 있습니다. 8. 개인정보 보호책임자 작성 ① 케이스랩(‘kacelab.com’이하 ‘케이스랩) 은(는) 개인정보 처리에 관한 업무를 총괄해서 책임지고, 개인정보 처리와 관련한 정보주체의 불만처리 및 피해구제 등을 위하여 아래와 같이 개인정보 보호책임자를 지정하고 있습니다. ▶ 개인정보 보호책임자 성명 :강승혜 직책 :대표 직급 :대표 연락처 :02-3442-2003, canksh@kacelab.com, ※ 개인정보 보호 담당부서로 연결됩니다. 9. 개인정보 처리방침 변경 ①이 개인정보처리방침은 시행일로부터 적용되며, 법령 및 방침에 따른 변경내용의 추가, 삭제 및 정정이 있는 경우에는 변경사항의 시행 7일 전부터 공지사항을 통하여 고지할 것입니다. 11. 개인정보의 안전성 확보 조치 ('케이스랩')은(는) 개인정보보호법 제29조에 따라 다음과 같이 안전성 확보에 필요한 관리적 조치를 하고 있습니다. 1. 정기적인 자체 감사 실시 개인정보 취급 관련 안정성 확보를 위해 정기적(분기 1회)으로 자체 감사를 실시하고 있습니다. "; } /** * 디버깅용 array * @return * @throws Exception */ function p() { global $_SERVER; if (in_array($_SERVER['REMOTE_ADDR'], array('175.125.135.133', '127.0.0.1', '::1'))) { $args = func_get_args(); echo "

= RESULT =\n";
        if (is_array($args)) {
            $i = 0;
            foreach ($args as $tgt) {
                echo "[param:" . (++$i) . "]\n";
                print_r($tgt);
                echo "\n";
            }
        }
        echo "
"; } } /** * 디버깅용 array * @return * @throws Exception */ function pe() { global $_SERVER; if (in_array($_SERVER['REMOTE_ADDR'], array('175.125.135.133', '127.0.0.1', '::1'))) { $args = func_get_args(); echo "
= RESULT =\n";
        if (is_array($args)) {
            $i = 0;
            foreach ($args as $tgt) {
                echo "[param:" . (++$i) . "]\n";
                print_r($tgt);
                echo "\n";
            }
        }
        echo "
"; exit; } } ?>